package com.ruoyi.businessInfo.mapper;

import java.util.List;
import com.ruoyi.businessInfo.domain.RoomType;
import com.ruoyi.businessInfo.domain.BedConfig;

/**
 * 房型信息Mapper接口
 *
 * @author ruoyi
 * @date 2025-05-17
 */
public interface RoomTypeMapper
{
    /**
     * 查询房型信息
     *
     * @param roomTypeId 房型信息主键
     * @return 房型信息
     */
    public RoomType selectRoomTypeByRoomTypeId(Long roomTypeId);

    /**
     * 查询房型信息列表
     *
     * @param roomType 房型信息
     * @return 房型信息集合
     */
    public List<RoomType> selectRoomTypeList(RoomType roomType);

    /**
     * 新增房型信息
     *
     * @param roomType 房型信息
     * @return 结果
     */
    public int insertRoomType(RoomType roomType);

    /**
     * 修改房型信息
     *
     * @param roomType 房型信息
     * @return 结果
     */
    public int updateRoomType(RoomType roomType);

    /**
     * 删除房型信息
     *
     * @param roomTypeId 房型信息主键
     * @return 结果
     */
    public int deleteRoomTypeByRoomTypeId(Long roomTypeId);

    /**
     * 批量删除房型信息
     *
     * @param roomTypeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRoomTypeByRoomTypeIds(Long[] roomTypeIds);

    /**
     * 批量删除床型配置
     *
     * @param roomTypeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBedConfigByRoomTypeIds(Long[] roomTypeIds);

    /**
     * 批量新增床型配置
     *
     * @param bedConfigList 床型配置列表
     * @return 结果
     */
    public int batchBedConfig(List<BedConfig> bedConfigList);


    /**
     * 通过房型信息主键删除床型配置信息
     *
     * @param roomTypeId 房型信息ID
     * @return 结果
     */
    public int deleteBedConfigByRoomTypeId(Long roomTypeId);
}
